package yycore

import chisel3._
import common.Constants._
import common.Instructions._

object RVCSR {
  val table = Array(
    CSRRS  -> List(Y, BRType.none, OP1_RS1, OP2_X,  OEN_1, OEN_1, FuType.csr, CSROpType.S,  WB_CSR,  REN_1),
    CSRRW  -> List(Y, BRType.none, OP1_RS1, OP2_X,  OEN_1, OEN_1, FuType.csr, CSROpType.W,  WB_CSR,  REN_1),
    CSRRC  -> List(Y, BRType.none, OP1_RS1, OP2_X,  OEN_1, OEN_1, FuType.csr, CSROpType.C,  WB_CSR,  REN_1),

    CSRRWI -> List(Y, BRType.none, OP1_IMZ, OP2_X,  OEN_1, OEN_1, FuType.csr, CSROpType.W,  WB_CSR,  REN_1),
    CSRRSI -> List(Y, BRType.none, OP1_IMZ, OP2_X,  OEN_1, OEN_1, FuType.csr, CSROpType.S,  WB_CSR,  REN_1),
    CSRRCI -> List(Y, BRType.none, OP1_IMZ, OP2_X,  OEN_1, OEN_1, FuType.csr, CSROpType.C,  WB_CSR,  REN_1),
  )
}
